package com.lagou.task10;

import java.lang.annotation.*;

//@Retention(RetentionPolicy.SOURCE) //表示下面的注解在源码中有效
//@Retention(RetentionPolicy.CLASS) //表示下面的注解在字节码文件中有效,默认方式
@Retention(RetentionPolicy.RUNTIME) //表示下面的注解在运行时玉箫
@Documented                         //表示下面的注解可以被javadoc中提取到api中去,很少使用
//表示下面的注解可以类型, 构造方法,成员变量, 成员方法, 参数的修饰
@Target({ElementType.TYPE,ElementType.CONSTRUCTOR,ElementType.FIELD,ElementType.METHOD,ElementType.PARAMETER})
@Inherited //表示下面的注解所修饰的类中的注解使用可以被子类继承
//若一个注解中没有任何成员, 则这样的注解叫做标记注解/标识注解
//若注解中没有任何成员, 我们把这样的注解叫做标记注解/标识注解
public @interface MyAnnotation {
    //声明一个String类型的成员变量,类型有要求, 不能随便乱给
    public String value() default "hello";
    public String value2();
}
